"""
URL configuration for project project.

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import AllowAny

class APIRootView(APIView):
    """
    API根路径视图
    """
    permission_classes = [AllowAny]  # 允许未认证访问

    def get(self, request):
        api_info = {
            "name": "Django Backend API",
            "version": "1.0",
            "endpoints": {
                "用户认证": {
                    "注册": "/api/auth/register",
                    "登录": "/api/auth/login",
                    "登出": "/api/auth/logout",
                    "找回密码": "/api/auth/forgot-password"
                },
                "功能接口": {
                    "数据交互": "/api/data",
                    "大语言模型": "/api/llm"
                }
            }
        }
        return Response(api_info)

# URL模式列表
urlpatterns = [
    path('', APIRootView.as_view(), name='api-root'),
    path('admin/', admin.site.urls),
    path('api/', include('api.urls')),
]
